今天繼續做地圖的座標,總之今天又寫了一個角色的class,叫做測試物件,顧名思義是想拿來測試東西用的,目前沒什麼函式,只是宣告了座標和圖片兩個變數,讓它可以畫在畫面上。
上次其實已經有寫函式讓它可以用地圖的座標和出在畫面上的座標了,這次我在mainCharater的函式中寫了一個鍵盤移動的函式,讓它可以到處移動,也帶著跟著他的鏡頭走,然後就是在主程式中加了keysPressed這個變數來接收pygame.key.get_pressed(),然後用像這樣的方法:keysPressed[pygame.K_w]把按鍵是不是正按著接出來,丟給函式去移動。
在做這理也學到一件事,python的class裡面的函式都會自動多回傳一個這個class在第一格,函式要把它收進來,不然會報錯,為甚麼這麼做,是讓函式如果要用這個class的其他東西時,可以用這東西找到自己,之道是用自己的方法,用法是這樣:
class me():
name="me"
def sayMyName(self):
print(self.name)
這樣函式就能找到自己的資訊。
然後我的主遊戲迴圈隨著程式加入,好像漸漸能分出步驟的感覺,先接收事件>處理遊戲>畫畫面 這樣的分層有點出現了。
最後是之前就有注意到的事,就事都要按下ctrl+S之後改動才會真正算數,比如我改了charater.py之後要到main.py試跑看看,這時要先儲存,不然charater.py的東西跑的時候都會以上次儲存的狀況來跑。
今天進度是這樣,有點像做scratch了。